모의해킹
호스트기반모의해킹_12_웹 애플리케이션 진단 기초
작성자 : Heehyeon Yoo|2025-11-24
# 모의해킹# Web# Burp Suite# 정보수집# Brute Force
1. 웹 진단 개요(Web Assessment Overview)
웹은 인터넷 트래픽의 대다수를 차지하는 핵심 도메인이다. 진단의 첫 단계는 대상 어플리케이션의 구조와 기술 스택을 파악하는 것이다.
1.1 Source & Sink 개념
웹 취약점 분석의 핵심 사고방식.
- Source(입력원): 데이터가 유입되는 지점(예: GET/POST 파라미터, 쿠키, 헤더).
- Sink(소모지): 유입된 데이터가 실행되거나 반영되는 지점(예:
eval(), SQL 쿼리,echo). - 진단 전략: 공격자는 Source를 통해 악의적인 입력을 주입하고, Sink에서 의도치 않은 행위가 발생하는지 확인한다.
2. 필수 도구: Burp Suite
HTTP 요청/응답을 가로채고 조작(Intercept)할 수 있는 프록시 도구.
- Proxy: 브라우저와 서버 간의 트래픽을 중계 및 변조.
- Repeater: 특정 요청을 반복적으로 수정하여 전송(수동 진단 핵심).
- Intruder: 페이로드를 자동 대입하여 Fuzzing 또는 Brute Force 수행.
3. 정보 수집(Information Gathering)
3.1 기술 스택 및 버전 식별(Fingerprinting)
서버 헤더나 HTML 소스를 통해 백엔드 기술을 식별한다.
- 방법:
- Response Header:
Server: Apache/2.4.41,X-Powered-By: PHP/7.4. - HTML Meta Tag:
<meta name="generator" content="WordPress 5.8">. - 도구:
Wappalyzer(브라우저 확장 프로그램) 활용.
- Response Header:
3.2 robots.txt 분석
- 목적: 검색 엔진 크롤러에게 특정 경로의 수집을 거부하는 파일.
- 공격자 관점: 개발자가 숨기고 싶은 "민감한 디렉토리(Admin 페이지 등)" 목록이 명시된 보물지도.
- 예:
Disallow: /admin-secret/-> 공격 대상 1순위.
- 예:
3.3 디렉토리 브루트 포싱(Directory Brute Forcing)
공개되지 않은 숨겨진 디렉토리와 파일을 사전 대입 공격으로 찾아낸다.
도구: GoBuster
- 기본 명령:
gobuster dir -u [Target_URL] -w [Wordlist_Path] - 확장자 탐색(
-x): 특정 기술 스택(PHP, JSP 등)의 파일까지 찾기 위해 확장자 옵션 사용.gobuster dir -u http://10.10.10.10 -w common.txt -x php,txt,bak - 상태 코드 필터링(
-s): 불필요한 응답(404 등)을 제외하고 유효한 응답(200, 301, 302)만 확인.gobuster dir -u ... -s 200,301,302
4. 실무에서는?
- 재귀적 스캔(Recursive Scan) 주의:
- GoBuster는 기본적으로 재귀 스캔(찾은 디렉토리 내부를 또 스캔)을 하지 않는다.
- 재귀 스캔은 트래픽을 기하급수적으로 늘려 DoS(서비스 거부)를 유발할 수 있으므로, 의심스러운 경로만 선별하여 수동으로 재 스캔한다.
- 스레드(Thread) 조절:
- 빠른 속도를 위해 스레드를 100개 이상으로 높이면 백엔드 서버(특히 구형 WAS)가 뻗을 수 있다.
10~50정도로 안정성을 유지해야 한다.
- 빠른 속도를 위해 스레드를 100개 이상으로 높이면 백엔드 서버(특히 구형 WAS)가 뻗을 수 있다.
- 기술 스택 맞춤형 사전:
- PHP 서버에 JSP 파일 확장자를 검색하는 것은 리소스 낭비다. 3.1 단계에서 식별한 스택에 맞춰
-x옵션을 최적화해야 한다.
- PHP 서버에 JSP 파일 확장자를 검색하는 것은 리소스 낭비다. 3.1 단계에서 식별한 스택에 맞춰